#ifndef AV_COMMON_H
#define AV_COMMON_H
#include "AVList.h"

extern "C"
{
#include<libavformat/avformat.h>
#include<libavcodec/avcodec.h>
}

using AVPacketPtr = std::shared_ptr<AVPacket>;
using AVFramePtr = std::shared_ptr<AVFrame>;

struct AVContext
{
    int32_t audio_sample_rate;
    int32_t audio_channels;
    AVSampleFormat audio_fmt;
    AVQueue<AVPacketPtr>audio_queue;


    int32_t width;
    int32_t height;
    AVPixelFormat vidio_fmt;
    AVQueue<AVFramePtr>video_queue;


};
#endif // AV_COMMON_H
